package com.yunhe.policyfulfillment.policyful.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @ClassName PolicyInfoMatter
 * @Description TODO
 * @Author HeTao
 * @Date 2021/7/26 10:48
 * @Version 1.0
 **/
@Data
@ApiModel("政策兑现事项配置表")
public class PolicyInfoMatter implements Serializable {

    private static final long serialVersionUID = -5013229974021788813L;

    @ApiModelProperty("事项id")
    private Long id;

    @ApiModelProperty("事项名称")
    private String title;

    @ApiModelProperty("事项编号")
    private String code;

    @ApiModelProperty("组织id")
    private Integer orgId;

    @ApiModelProperty("组织名称")
    private String orgName;

    @ApiModelProperty("政策依据文件url")
    private String policyBasisUrl;

    @ApiModelProperty("政策依据文件名")
    private String policyBasisFilename;

    @ApiModelProperty("申报条件")
    private String declareCondition;

    @ApiModelProperty("奖励标准")
    private String rewardStandard;

    @ApiModelProperty("申报开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd" )
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date declareStartTime;

    @ApiModelProperty("申报结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd" )
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date declareEndTime;

    @ApiModelProperty("解释部门")
    private String explainDept;

    @ApiModelProperty("联系方式")
    private String contactDetails;

    @ApiModelProperty("办理时间")
    private String processingTime;

    @ApiModelProperty("办理流程和时限")
    private String processTimeLimit;

    @ApiModelProperty("是否上线 01 上线 02 下线")
    private String isOnline;

    @ApiModelProperty("申报状态 01 未开始 02 申报中 03 已截止")
    private String matterStatus;

    @ApiModelProperty("发布时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date publishTime;

    @ApiModelProperty("发布人")
    private Long publishPerson;

    @ApiModelProperty("发布人名称")
    private String publishPersonName;

    @ApiModelProperty("访问次数")
    private Long accessCount;

    @ApiModelProperty("创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty("更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty("申报材料")
    private List<PolicyInfoDeclareMaterial> policyInfoDeclareMaterials;

    @ApiModelProperty(value = "是否删除")
    private String isDelete = "0";

    @ApiModelProperty("更新人")
    private Long updatePerson;

    @ApiModelProperty("更新人名称")
    private String updatePersonName;

    @ApiModelProperty("申报对象")
    private String declarationObject;

    @ApiModelProperty("申报方式")
    private String declarationMethod;

    @ApiModelProperty("申报数量")
    private Long declaredQuantity;

    public PolicyInfoMatter() {
    }

}